<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>20-Object三种静态方法</title>
  </head>
  <body>
    <script>
      // Object 三种静态方法
      const o = { name: '杨欣怡', age: 20, gender: '女' }

      // 原来的方法   
    //   for (let k in o) {
    //     console.log(k) // 属性 name age
    //     console.log(o[k]) //值 杨欣怡 20
    //   }

      // 1. Object.keys() 得到对象 所有属性 【重点】 返回的是数组
      const key = Object.keys(o)
      console.log(key) // ['name', 'age', 'gender']

      // 2. Object.values() 得到对象 所有属性值 【重点】  返回的是数组
      const values = Object.values(o)
      console.log(values)  // ['杨欣怡', 20, '女']

      // 3. Object.assign(目标对象, 源对象) 对象的拷贝 assign 赋值的意思
      const oo = {}  
      Object.assign(oo,o)
      console.log(oo) // {name: '杨欣怡', age: 20, gender: '女'}
      oo.name = '侯睿'
      console.log(oo) // {name: '侯睿', age: 20, gender: '女'}
      console.log(o)  //  {name: '杨欣怡', age: 20, gender: '女'}
      
      
      
      
    </script>
  </body>
</html>
